package com.zlm.common.util;

import com.zlm.common.constants.RegexConstants;
import java.util.regex.Pattern;

/**
 * 正则相关工具类
 * @Author: duyufu
 * @Date: 2019/4/8 11:11
 */
public class RegexUtils {

    public RegexUtils() {
        throw new UnsupportedOperationException("无法实例化");
    }

    /**
     * 判断是否匹配正则
     *
     * @param regex 正则表达式
     * @param input 要匹配的字符串
     * @return {@code true}: 匹配<br>{@code false}: 不匹配
     */
    public static boolean isMatch(String regex, CharSequence input) {
        return input != null && input.length() > 0 && Pattern.matches(regex, input);
    }

    /**
     * 验证手机号（简单）
     *
     * @param input 待验证文本
     * @return {@code true}: 匹配<br>{@code false}: 不匹配
     */
    public static boolean isMobileSimple(CharSequence input) {
        return isMatch(RegexConstants.REGEX_MOBILE_SIMPLE, input);
    }

    /**
     * 验证身份证号码18位
     *
     * @param input 待验证文本
     * @return {@code true}: 匹配<br>{@code false}: 不匹配
     */
    public static boolean isIDCard(CharSequence input) {
        return isMatch(RegexConstants.REGEX_ID_CARD18, input);
    }

}
